#ifndef QIMAGER_H
#define QIMAGER_H

#include "trimps_forensic_global.h"
#include "Q_HDDuplicator.h"
#include "qtsingleapplication.h"
#include <QtNetwork>

class HDImagingCLI : public QObject
{
	Q_OBJECT
public:
	HDImagingCLI();
	~HDImagingCLI();

public slots:
	void processCommand();
};

class HDImagingService : public QTcpServer
{
	Q_OBJECT
public:
	HDImagingService(QObject *parent = 0);
	~HDImagingService();

private slots:
	void connectionAvailable();
	void dataOnSocket();

};


class HDImagingHttpService : public QTcpServer
{
	Q_OBJECT
public:
	HDImagingHttpService(quint16 port = 8080);
	~HDImagingHttpService();
	
private slots:
	void connectionAvailable();
	void dataOnSocket();

private:
	quint16 port;
};

class HttpClient : public QObject
{
	Q_OBJECT
public:
	HttpClient();

private slots:
	void responseHeaderReceived(const QHttpResponseHeader &resp);
	void readyRead(const QHttpResponseHeader &resp);
	void dataReadProgress(int, int);

private:
	QHttp* http;
};


#endif